home *** CD-ROM | disk | FTP | other *** search
/ BBS in a Box 5 / BBS in a Box -Volume V (BBS in a Box) (April 1992).iso / Files / Prog / M / LSC213.cpt / Appletalk.h next >
Encoding:
C/C++ Source or Header  |  1987-09-26  |  3.1 KB  |  181 lines  |  [TEXT/KAHL]

  1.  
  2. /*
  3.  *  Appletalk.h
  4.  *
  5.  *  Copyright (c) 1986, 1987 THINK Technologies, Inc.
  6.  *  These interfaces are based on information copyrighted
  7.  *  by Apple Computer, Inc., 1985, 1986, 1987.
  8.  *
  9.  */
  10.  
  11. #ifndef _Appletalk_
  12. #define _Appletalk_
  13.  
  14. #ifndef _MacTypes_
  15. #include "MacTypes.h"
  16. #endif
  17.  
  18.  
  19. /* result codes */
  20. enum {
  21.     sktClosedErr = -3109,
  22.     recNotFnd,
  23.     atpBadRsp,
  24.     atpLenErr,
  25.     readQErr,
  26.     extractErr,
  27.     cksumErr,
  28.     noMPPError,
  29.     buf2SmallErr,
  30.     reqAborted = -1105,
  31.     noDataArea,
  32.     noSendResp,
  33.     cbNotFound,
  34.     noRelErr,
  35.     badBuffNum,
  36.     badATPSkt,
  37.     tooManySkts,
  38.     tooManyReqs,
  39.     reqFailed,
  40.     nbpNISErr = -1029,
  41.     nbpNotFound,
  42.     nbpDuplicate,
  43.     nbpConfDiff,
  44.     nbpNoConfirm,
  45.     nbpBuffOvr,
  46.     portNotCf = -98,
  47.     portInUse,
  48.     excessCollsns = -95,
  49.     lapProtErr,
  50.     noBridgeErr,
  51.     ddpLenErr,
  52.     ddpSktErr
  53. };
  54.  
  55.  
  56. typedef enum {
  57.     tLAPRead,
  58.     tLAPWrite,
  59.     tDDPRead,
  60.     tDDPWrite,
  61.     tNBPLookup,
  62.     tNBPConfirm,
  63.     tNBPRegister,
  64.     tATPSndRequest,
  65.     tATPGetRequest,
  66.     tATPSdRsp,
  67.     tATPAddRsp,
  68.     tATPRequest,
  69.     tATPResponse
  70. } ABCallType;
  71.  
  72. typedef Byte ABByte;
  73.  
  74. typedef struct LAPAdrBlock {
  75.     Byte            dstNodeID;
  76.     Byte            srcNodeID;
  77.     ABByte            lapProtType;
  78. } LAPAdrBlock;
  79.  
  80. typedef struct AddrBlock {
  81.     int                aNet;
  82.     Byte            aNode;
  83.     Byte            aSocket;
  84. } AddrBlock;
  85.  
  86. typedef unsigned char Str32[34];
  87.  
  88. typedef struct EntityName {
  89.     Str32            objStr;
  90.     Str32            typeStr;
  91.     Str32            zoneStr;
  92. } EntityName, *EntityPtr;
  93.  
  94. typedef struct RetransType {
  95.     Byte            retransInterval;
  96.     Byte            retransCount;
  97. } RetransType;
  98.  
  99. typedef struct BDSElement {
  100.     int                buffSize;
  101.     Ptr                buffPtr;
  102.     int                dataSize;
  103.     long            userBytes;
  104. } BDSElement, BDSType[8];
  105. typedef BDSType *BDSPtr;
  106.  
  107. typedef char BitMapType;
  108.  
  109. typedef struct lapProto {
  110.     ABCallType        abOpcode;
  111.     int                abResult;
  112.     long            abUserReference;
  113.     LAPAdrBlock        lapAddress;
  114.     int                lapReqCount;
  115.     int                lapActCount;
  116.     Ptr                lapDataPtr;
  117. } lapProto, LAPProto;
  118. #define lapSize        sizeof(lapProto)
  119.  
  120. typedef struct ddpProto {
  121.     ABCallType        abOpcode;
  122.     int                abResult;
  123.     long            abUserReference;
  124.     unsigned        ddpType;
  125.     unsigned        ddpSocket;
  126.     AddrBlock        ddpAddress;
  127.     int                ddpReqCount;
  128.     int                ddpActCount;
  129.     Ptr                ddpDataPtr;
  130.     unsigned        ddpNodeID;
  131. } ddpProto, DDPProto;
  132. #define ddpSize        sizeof(ddpProto)
  133.  
  134. typedef struct nbpProto {
  135.     ABCallType        abOpcode;
  136.     int                abResult;
  137.     long            abUserReference;
  138.     EntityPtr        nbpEntityPtr;
  139.     Ptr                nbpBufPtr;
  140.     int                nbpBufSize;
  141.     int                nbpDataField;
  142.     AddrBlock        nbpAddress;
  143.     RetransType        nbpRetransmitInfo;
  144. } nbpProto, NBPProto;
  145. #define nbpSize        sizeof(nbpProto)
  146.  
  147. typedef struct atpProto {
  148.     ABCallType        abOpcode;
  149.     int                abResult;
  150.     long            abUserReference;
  151.     unsigned        atpSocket;
  152.     AddrBlock        atpAddress;
  153.     int                atpReqCount;
  154.     Ptr                atpDataPtr;
  155.     BDSPtr            atpRspBDSPtr;
  156.     BitMapType        atpBitMap;
  157.     int                atpTransID;
  158.     int                atpActCount;
  159.     long            atpUserData;
  160.     Boolean            atpXO;
  161.     Boolean            atpEOM;
  162.     unsigned        atpTimeOut;
  163.     unsigned        atpRetries;
  164.     unsigned        atpNumBufs;
  165.     unsigned        atpNumRsp;
  166.     unsigned        atpBDSSize;
  167.     long            atpRspUData;
  168.     Ptr                atpRspBuf;
  169.     int                atpRspSize;
  170. } atpProto, ATPProto;
  171. #define atpSize        sizeof(atpProto)
  172.  
  173. typedef union {
  174.     lapProto        lapProto;
  175.     ddpProto        ddpProto;
  176.     nbpProto        nbpProto;
  177.     atpProto        atpProto;
  178. } ABusRecord, *ABRecPtr, **ABRecHandle;
  179.  
  180.  
  181. #endif _Appletalk_